/*
 * Copyright 2001-2008 The Apache Software Foundation.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
package org.uddi.v3_service;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.Holder;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import org.uddi.sub_v3.DeleteSubscription;
import org.uddi.sub_v3.GetSubscriptionResults;
import org.uddi.sub_v3.Subscription;
import org.uddi.sub_v3.SubscriptionResultsList;

/**
 * This portType defines all of the UDDI subscription operations.
 *
 * This class was generated by the JAX-WS RI. JAX-WS RI 2.1.5-b03- Generated
 * source version: 2.1
 *
 * Subscription provides clients, known as subscribers, with the ability to register their interest in receiving information concerning changes made in a UDDI registry.  These changes can be scoped based on preferences provided with the request.  The APIs described below support this capability.  Usage scenarios and examples are provided in Appendix C Supporting Subscribers.  Each of the subscription APIs described here are OPTIONAL for UDDI implementations and MAY be implemented entirely at the discretion of a Node.<br><br>
 * 
 * <p class="MsoBodyText">The subscription API set satisfies a variety of
requirements.&nbsp; The flexibility of the subscription API allows monitoring of activity
in a registry by registering to track new, changed and deleted entries for each
of these entities:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>businessEntity</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>businessService</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>bindingTemplate</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>tModel</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>related businessEntity</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>publisherAssertion (limited to those publisherAssertions for
which the subscriber owns at least one of the businesses referenced)</p>

<p class="MsoBodyText">With the exception of single publisher registries
subscription typically is limited to authorized clients as a matter of node
policy.&nbsp; Therefore, subscribers MUST typically authenticate with the node
before saving subscription requests.&nbsp; Individual nodes, including those in the
UDDI Business Registry, MAY establish policies concerning the use of the
subscription APIs they choose to offer. Such policies might include restricting
the use of subscription, defining which APIs are supported, establishing
whether subscriptions require authentication, defining special rules affecting
different classes of subscriptions, or even imposing fees for the use of these
services.&nbsp; The use of the authInfo argument is OPTIONAL throughout the
subscription APIs, although registries which support multiple users or which
require authentication for publishing operations typically require it.&nbsp; </p>

<p class="MsoBodyText">Subscription allows subscribers to "monitor" a
particular subset of data within a registry.&nbsp; Two patterns are defined.&nbsp; Nodes MAY support either or both:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>Asynchronous notification – subscribers choose to be
asynchronously notified by the node when registry data of interest changes via
calls to the notify_subscriptionListener API, which they implement as a "subscription
listener" service.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>Synchronous change tracking – subscribers issue a synchronous
request using the get_subscriptionResults API to obtain information on activity
in the registry which matches their subscription preferences.</p>

<p class="MsoBodyText">A subscription request establishes criteria for the
subscription and specifies how and if the subscriber is to be notified of
changes matching the specified criteria.&nbsp; Any of the existing standard inquiry
APIs (find_xx and get_xx) may be used within a subscription request to define
the criteria, although nodes are free to restrict which inquiry APIs are
supported in subscription as a matter of policy.&nbsp; The duration, or life of a
subscription is also a matter of node policy, but subscribers can renew existing
subscriptions periodically instead of having to create new ones.&nbsp; Subscribers
may also create multiple subscriptions.&nbsp; Each subscription request is treated
independently.&nbsp; The level of detail provided for the data returned is
controlled by the subscription request.</p>

<p class="MsoBodyText">When asynchronous notifications are requested,
subscriptions provide information on new, changed or deleted entities within a
registry that occur <i>after</i> the point in time that the subscription is
registered.&nbsp; A node notifies subscribers based upon its identification of data
matching the requested subscription criteria.&nbsp; Subscribers can choose to have
these notifications provided via email or an HTTP/SOAP-based Web service, which
the subscriber MAY implement. Such services are called "subscription
listeners."&nbsp; Notifications are made periodically rather than in response
to the continuous stream of changes that normally occur within the registry.&nbsp;
This means that subscription results provided via notifications pertain only to
the <i>current</i> state of the entities at the time they are reported –
intermediate state changes are not provided.&nbsp; While subscribers can specify a
frequency for these notifications, nodes MAY choose to restrict this as a
matter of policy.</p>

<p class="MsoBodyText">When synchronous requests are made for subscription
results, the <i>current</i> state of the registry data, which matches the
subscription criteria, is returned for entries that were last created, changed
or deleted within a specified date range.&nbsp; Prior states of the registry data
are not available and are not returned.</p>

<p class="MsoBodyText">Subscriptions are owned by the subscriber who creates
them.&nbsp; A subscriptionKey, which distinguishes each individual subscription, is
not visible to anyone except the subscriber.&nbsp; While node policy MAY permit others besides the subscription’s owner to receive or retrieve subscription results,
such interested parties require knowledge of the relevant subscriptionKey from
the subscription owner in order to do so.</p>

<h4 style="margin-left:0in;text-indent:0in"><a name="_Toc42047329"></a><a name="_Ref535515666">5.5.1.1 Definition of Changed Entities</a></h4>

<p class="MsoBodyText">As stated above, the subscription API allows monitoring of
new, changed and deleted entities. This section provides the definition of
changed entities.&nbsp; The following are the criteria for considering an entity to
have been "changed":</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>For businessEntity, businessService, bindingTemplate, and tModel:
<br>
The entity is considered to be changed if the modifiedIncludingChildren element
of the operationalInfo element of the entity has been changed.</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>For publisherAssertion:<br>
A publisherAssertion is considered to be changed if the publisher has updated
the publisherAssertion via the set_publisherAssertions,&nbsp; or
add_publisherAssertions APIs.</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>For related businessEntity: <br>
A related businessEntity (related to the business specified in the businessKey
argument of find_relatedBusinesses API) is considered to be changed if either:</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.5in;text-indent:-.25in">1.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>the related businessEntity is changed, or</p>

<p class="MsoNormal" style="margin-top:4.0pt;margin-right:0in;margin-bottom:4.0pt;
margin-left:1.5in;text-indent:-.25in">2.<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>at least one of the two reciprocal publisherAssertions that represents
the relationship is changed.</p>

<h3><a name="_Toc85908130"></a><a name="_Toc53709324"></a><a name="_Toc45096409"></a><a name="_Toc45095952">5.5.2 Specifying Durations</a></h3>

<p class="MsoBodyText">Time durations used in the subscription APIs are of type
xsd:duration defined in XML Schema from <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#ISO8601"><span style="color:windowtext;text-decoration:none">[ISO 8601]</span></a>.&nbsp; Any form
supported by this data type is permitted.&nbsp; For example, the lexical
representation extended format can be used, which is of the form PnYnMnDTnHnMnS,
where nY represents the number of years, nM the number of months, nD the number
of days, 'T' is the date/time separator, nH the number of hours, nM the number
of minutes and nS the number of seconds. The "P" identifies the field
as duration.&nbsp; The number of seconds can include decimal digits to arbitrary
precision.</p>

<h3><a name="_Toc85908131"></a><a name="_Toc53709325"></a><a name="_Toc45096410"></a><a name="_Toc45095953"></a><a name="_Toc42047330">5.5.3 Specifying Points in Time</a></h3>

<p class="MsoBodyText">Points in time used in the subscription APIs are all of
the XML Schema type, xsd:dateTime.&nbsp; Two points in time are used to specify a
period of time.</p>

<h3><a name="_Toc85908132"></a><a name="_Toc53709326"></a><a name="_Toc45096411"></a><a name="_Toc45095954"></a><a name="_Toc42047331"></a><a name="_Ref3402225">5.5.4 Subscription
Coverage Period</a></h3>

<p class="MsoBodyText">The APIs, which support each of the patterns previously
described for obtaining subscription results, accept a coveragePeriod argument,
which is composed of two points in time.&nbsp; Each of these corresponds to the last
point in time which any given entity in the registry was modified (i.e.,
created, deleted or changed).&nbsp; The syntax of this element is:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image094.gif" border="0" height="104" width="357"></p>

<p class="MsoBodyText">Where<b><i>:</i></b></p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>startPoint</b>: Signifies the point in time after which
subscription results are to be collected and/or returned. The startPoint is
optional. If it is not specified, this indicates that all available results are
to be returned from the beginning of the registry.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>endPoint</b>:&nbsp; Signifies the point in time corresponding to
the last activity date for entities matching subscription results.&nbsp; No activity
among matching entities, which occurred after this point in time, is returned.
The endPoint is optional. If not provided, it signifies that the latest changes
available, which match the subscription criterions that are to be returned. </p>

<p class="MsoBodyText">With respect to notifications, the startPoint of a given
notification SHOULD align with the endPoint of the previous notification.&nbsp; If
this is not the case, the subscriber SHOULD assume a notification was missed,
or lost.&nbsp; The subscriber can then take corrective action by using the
get_subscriptionResults API. Note that it is permissible for nodes to send the
same data more than once, depending on overlaps in these times.</p>

<h3><a name="_Toc85908133"></a><a name="_Toc53709327"></a><a name="_Toc45096412"></a><a name="_Toc45095955"></a><a name="_Toc42047332"></a><a name="_Ref4234690">5.5.5 Chunking
of Returned Subscription Data</a><a name="_Ref535517771"></a></h3>

<p class="MsoBodyText">If a subscriber specifies a maximum number of entries to
be returned with a subscription and the amount of data to be returned exceeds
this limit, or if the node determines based on its policy that there are too
many entries to be returned in a single group, then the node SHOULD provide a
chunkToken with results.&nbsp; The chunkToken is a string based token which is used
by the node to maintain the state of the subscription results for a particular
caller, when these results are chunked across multiple responses.&nbsp; The format
and content of the chunkToken is a matter of implementation choice by
individual nodes. The chunkToken returned with a particular subscription result
set SHOULD be used to retrieve subsequent results when subscription results are
requested in a synchronous manor.&nbsp; If no more results are pending, the value of
the chunkToken MUST be "0".</p>

<p class="MsoBodyText">A chunkToken is intended as a short-term aid in obtaining
contiguous results across multiple API calls and is therefore likely to remain
valid for only a short time.&nbsp; Nodes MAY establish policies on how long a
chunkToken remains valid.</p>

<h3><a name="_Toc85908134"></a><a name="_Toc53709328"></a><a name="_Toc45096413"></a><a name="_Toc45095956"></a><a name="_Toc42047333"></a><a name="_Ref3401043">5.5.6 Use
of keyBag in Subscription</a></h3>

<p class="MsoBodyText">The subscription results returned by the subscription APIs
allow for the use of a structure called a keyBag.&nbsp; A keyBag contains a list of
entity keys, which correspond to any of the core data structures
(businessEntity, businessService, bindingTemplate or tModel).&nbsp; The keyBag has
two uses.&nbsp; </p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>Returning results when a "brief" format is selected,
which minimizes returned information.&nbsp; </p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>Indicating entities which have been deleted, or which no longer
match the subscription criteria provided with the subscription.&nbsp; This later
situation is referred to as a "virtual delete", in that the entity in
question may not actually have be deleted from the registry, but it no longer
matches the criterion which the subscriber defined in the subscription for
tracking registry changes.&nbsp; It should be noted that nodes MUST maintain
information pertaining to registry changes for both forms of deletion, to be
reported with subscription results for applicable subscriptions, although they MAY establish policies on how long such information is retained. Further details on the use of
this structure are discussed in the relevant API sections that follow.&nbsp; When
the keyBag is used for deleted entities, the deleted element is set to "true,"
and all entities listed in such a keyBag are assumed to represent deletions.<br>
<br>
</p>

<p class="MsoBodyText"><span style="font-family:&quot;MS Shell Dlg&quot;;color:black;
letter-spacing:0pt">A UDDI node MUST never inform the subscriber of an entity
that temporarily matched the subscription criteria but was removed or modified
to no longer match the subscription criteria before the subscriber was informed
of the match.</span></p>

<p class="MsoBodyText">A UDDI node MAY inform a subscriber about the real or
virtual deletion of an entity multiple times.</p>

<p class="MsoBodyText">The syntax of a keyBag is shown here:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image095.gif" border="0" height="271" width="371"></p>

<h3><a name="_Toc85908135"></a><a name="_Toc53709329"></a><a name="_Toc45096414"></a><a name="_Toc45095957"></a><a name="_Toc42047334">5.5.7 Subscription </a>API functions</h3>

<p class="MsoBodyText">The APIs in this section describe how to interact with a
UDDI node implementation to create and manage requests for the tracking of new
and changed registry content.&nbsp; These APIs are synchronous and are exposed via SOAP, although the notifications they may generate are not.&nbsp; </p>

<p class="MsoBodyText">The subscription APIs are: </p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>delete_subscription: </b>&nbsp;Cancels one or more specified
subscriptions.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>get_subscriptionResults:</b>&nbsp; Synchronously returns registry
data pertaining to a particular subscription within a specified time period.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>get_subscriptions:</b>&nbsp; Returns a list of existing
subscriptions previously saved by the subscriber.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>save_subscription:</b>&nbsp; Establishes a new subscription or
changes an existing one.&nbsp; Also used to renew existing subscriptions.</p>

<p class="MsoBodyText">The OPTIONAL client API is:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>notify_subscriptionListener</b>: A node invoked API which the client implements as a subscription listener service to accept notifications
containing the data that changed since notify_subscriptionListener was last
invoked for a particular subscription.</p>
 */
@WebService(name = "UDDI_Subscription_PortType", targetNamespace = "urn:uddi-org:api_v3_portType")
@XmlSeeAlso({
    org.uddi.custody_v3.ObjectFactory.class,
    org.uddi.repl_v3.ObjectFactory.class,
    org.uddi.subr_v3.ObjectFactory.class,
    org.uddi.api_v3.ObjectFactory.class,
    org.uddi.vscache_v3.ObjectFactory.class,
    org.uddi.vs_v3.ObjectFactory.class,
    org.uddi.sub_v3.ObjectFactory.class,
    org.w3._2000._09.xmldsig_.ObjectFactory.class,
    org.uddi.policy_v3.ObjectFactory.class,
    org.uddi.policy_v3_instanceparms.ObjectFactory.class
})
public interface UDDISubscriptionPortType extends Remote {

    /**
     *Cancels an existing subscription.
     *
     * @param body
     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>authInfo</i></b>:&nbsp; This optional argument is an element
that contains an authentication token.&nbsp; Registries that wish to restrict who
can delete a subscription typically require authInfo for this call, though this
is a matter of node policy.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>subscriptionKey:</i></b>&nbsp; This required argument specifies,
using <i>anyURIs,</i> the subscription or subscriptions to be deleted.</p>
* <Br><b>If no errors occur then an empty message is returned.</b>
     * @throws DispositionReportFaultMessage, RemoteException
     * <p class="MsoBodyText">If an error occurs in processing this API call, a dispositionReport structure is returned to the caller in a SOAP Fault.&nbsp; In addition
to the errors common to all APIs, the following error information is relevant
here:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_userMismatch</b>: signifies that an attempt has been made to
use the subscription API to delete a subscription that is controlled by another
party.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidKeyPassed</b>: signifies that the subscriptionKey is
invalid or that the subscription has expired.</p>
     */
    @WebMethod(operationName = "delete_subscription", action = "delete_subscription")
    @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
    public void deleteSubscription(
            @WebParam(name = "delete_subscription", targetNamespace = "urn:uddi-org:sub_v3", partName = "body") DeleteSubscription body)
            throws DispositionReportFaultMessage, RemoteException;

    /**
     *This API allows a subscriber to request that the
information pertaining to an existing subscription be returned.&nbsp; This is
useful, for example, to obtain historical data when a subscription is first set
up or when a subscriber misses the notification normally provided by the
registry.&nbsp; The results are returned synchronously as the response to this
call.&nbsp; The get_subscriptionResults API can also be used as an alternative to
notifications for obtaining subscription data. If this is the preference, then
the subscriber SHOULD not provide a bindingKey when saving the associated
subscription. See Section <a href="#_Ref536850105 ">5.5.8</a> <i>save_subscription</i>.&nbsp;
This API is not affected by the value of the notificationInterval in the
subscription. 
     * @param body
     * <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>authInfo</i></b>:&nbsp; This optional argument is an element
that contains an authentication token.&nbsp; Registries that wish to restrict who
can retrieve subscription data typically require authInfo for this call, though
this is a matter of node policy.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>chunkToken</i></b>:&nbsp; This optional argument is used to
retrieve subsequent groups of data when the first call to this API indicates more data is available.&nbsp; This occurs when a chunkToken is returned whose value is
not "0" in the subscriptionResultsList structure described in the
next section. To retrieve the next chunk of data, the value returned should be
used as an argument to the next invocation of this API.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>coveragePeriod</i></b>: This structure defines the time
period over which the most recent changes in node data are compared with the
subscription criteria in order to produce the result set. It provides start and
end date/time information according to the format described in Section <a href="#_Ref3402225 ">5.5.4</a> <i>Subscription Coverage Period</i>.&nbsp; The "current"
state of registry entries pertaining to the subscription referenced by the
subscriptionKey provided are returned if they were last created, changed or
deleted during the specified time period.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>subscriptionKey:</i></b>&nbsp; This required argument of type
anyURI identifies the subscription for which non-recurring synchronous results
are being sought.</p>
* <img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image101.gif">
     * @return returns org.uddi.sub_v3.SubscriptionResultsList
     * <p class="MsoBodyText">A subscriptionResultsList is returned whose content is
determined by the coveragePeriod and the criteria in the subscription:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image102.gif" border="0" height="484" width="523"></p>

<p class="MsoBodyText"><b>Attributes</b></p>

<table class="specTable" style="width:45.68%;margin-left:.5in;border-collapse:collapse;border:none" border="1" cellpadding="0" cellspacing="0" width="45%">
 <tbody><tr>
  <td style="width:60.52%;border:solid black 1.0pt;
  background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top" width="60%">
  <p class="MsoNormal"><b>Name&nbsp;&nbsp;</b></p>
  </td>
  <td style="width:39.48%;border:solid black 1.0pt;
  border-left:none;background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top" width="39%">
  <p class="MsoNormal"><b>Use&nbsp;&nbsp;</b></p>
  </td>
 </tr>
 <tr style="height:18.15pt">
  <td style="width:60.52%;border:solid black 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt;height:18.15pt" valign="top" width="60%">
  <p class="MsoNormal">someResultsUnavailable&nbsp;&nbsp;</p>
  </td>
  <td style="width:39.48%;border-top:none;border-left:
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
  padding:0in 5.4pt 0in 5.4pt;height:18.15pt" valign="top" width="39%">
  <p class="MsoNormal">optional&nbsp;&nbsp;</p>
  </td>
 </tr>
</tbody></table>

<p class="MsoBodyText">&nbsp;</p>

<p class="MsoBodyText">Subscription results MAY be chunked.&nbsp; See Section <a href="#_Ref4234690 ">5.5.5</a> <i>Chunking of Returned Subscription Data, </i>for
more information on chunking of results.&nbsp; If results are chunked, then
subsequent "chunks" can be retrieved using the chunkToken returned as
an argument in a subsequent invocation of this API.</p>

<p class="MsoBodyText">Note that the results returned in the
subscriptionResultsList represent a snapshot of the current state of relevant
entries in the registry.&nbsp; They are non-transactional in nature and prior states
cannot be returned.&nbsp; Deleted entities and virtual deletes of entities, which
have been changed in such a way that they no longer match the subscription
criterion saved with the subscription, are returned only in the form of a
keyBag structure, for which the deleted element is set to "true". A
UDDI node MAY inform a subscriber about the real or virtual deletion of an
entity multiple times.</p>

<p class="MsoBodyText">The someResultsUnavailable attribute is set to "true"
whenever the node has found it necessary to flush subscription results
information pertaining to entity deletions (either actual or virtual) which
pertain to this subscription, which have not yet been reported through prior
calls to this API, or through use of the notify_subscriptionListener API described below.&nbsp; The period of time which a node retains information on deletions for a
given subscription is a matter of node policy.</p>

<p class="MsoBodyText">The API used in the subscription filter determines the
sort order for returned entities. By default, they will be sorted according to
the behavior specified in the "returns" section of that API.</p>
     * @throws DispositionReportFaultMessage, RemoteException
     * <p class="MsoBodyText">If an error occurs in processing this API call, a dispositionReport structure is returned to the caller in a SOAP Fault.&nbsp; In addition
to the errors common to all APIs, the following error information is relevant
here:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidKeyPassed</b>: signifies that the subscriptionKey is
invalid or that the subscription has expired.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidValue</b>:&nbsp; signifies that the chunkToken value
supplied is either invalid or has expired.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_unsupported</b>: signifies that one of the argument values
was not supported by this implementation. The offending argument is clearly
indicated in the error text.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_userMismatch</b>: signifies that, in a violation of node
policy, an attempt has been made to use the subscription API to change a subscription that is controlled by another party.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidTime</b>:&nbsp; signifies that one or both of the values
provided in the coveragePeriod range is invalid or does not define a range.&nbsp;
The error structure signifies the condition that occurred and the error text
clearly calls out the cause of the problem.</p>
     */
    @WebMethod(operationName = "get_subscriptionResults", action = "get_subscriptionResults")
    @WebResult(name = "subscriptionResultsList", targetNamespace = "urn:uddi-org:sub_v3", partName = "body")
    @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
    public SubscriptionResultsList getSubscriptionResults(
            @WebParam(name = "get_subscriptionResults", targetNamespace = "urn:uddi-org:sub_v3", partName = "body") GetSubscriptionResults body)
            throws DispositionReportFaultMessage, RemoteException;

    /**
     * Returns the complete list of existing subscriptions owned by the
     * subscriber.
     *
     * @param authInfo authInfo: This optional argument is an element that
     * contains an authentication token. Registries that wish to restrict who
     * can obtain information on subscriptions typically require authInfo for
     * this call, though this is a matter of node policy.
     * @return returns java.util.List<org.uddi.sub_v3.Subscription> This API
     * call returns information on all of the subscriptions owned by the
     * subscriber, together with the expiration date for each. The subscriptions
     * structure returned contains zero or more subscription structures, each
     * pertaining to a subscription. Only subscriptions created by the invoking
     * subscriber are returned. See Section 5.5.8.1, [save_subscription] Syntax,
     * for details on these structures.
     * @throws DispositionReportFaultMessage, RemoteException
     */
    @WebMethod(operationName = "get_subscriptions", action = "get_subscriptions")
    @WebResult(name = "subscription", targetNamespace = "urn:uddi-org:sub_v3")
    @RequestWrapper(localName = "get_subscriptions", targetNamespace = "urn:uddi-org:sub_v3", className = "org.uddi.sub_v3.GetSubscriptions")
    @ResponseWrapper(localName = "subscriptions", targetNamespace = "urn:uddi-org:sub_v3", className = "org.uddi.sub_v3.Subscriptions")
    public List<Subscription> getSubscriptions(
            @WebParam(name = "authInfo", targetNamespace = "urn:uddi-org:api_v3") String authInfo)
            throws DispositionReportFaultMessage, RemoteException;

    /**
     *
     * The save_subscription API registers a request to monitor specific registry content and to have the node periodically notify the subscriber when changes are available.  Notifications are not returned synchronously with results for this API.  Only data that matches the requested subscription criteria and which changes after the point in time that the subscription request is accepted is returned to the subscriber via a notification.

This API returns a duration for which this particular subscription is valid.  Depending upon the policy of the Node, subscriptions need to be renewed before the expiration date in order to insure that they remain active.  Subscriptions can also be redefined or renewed using this API.  The subscriptionKey pertaining to the subscription to be renewed must be supplied in the save_subscription invocation in order to accomplish this. This allows both renewal and changes to the subscription.  Invoking save_subscription automatically resets the expiration period for the subscription in question to a value based upon the node’s policy. 
* 
* <p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image096.gif" border="0" height="121" width="393"></p>

<p class="MsoBodyText">The syntax of the subscription structure is:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image097.gif" border="0" height="236" width="389"></p>

<p class="MsoBodyText"><b>Attributes</b></p>

<table class="specTable" style="width:33.34%;margin-left:.5in;border-collapse:collapse;border:none" border="1" cellpadding="0" cellspacing="0" width="33%">
 <tbody><tr>
  <td style="width:49.98%;border:solid black 1.0pt;
  background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top" width="49%">
  <p class="MsoNormal"><b>Name&nbsp;&nbsp;</b></p>
  </td>
  <td style="width:50.02%;border:solid black 1.0pt;
  border-left:none;background:#FFFFCA;padding:0in 5.4pt 0in 5.4pt" valign="top" width="50%">
  <p class="MsoNormal"><b>Use&nbsp;&nbsp;</b></p>
  </td>
 </tr>
 <tr>
  <td style="width:49.98%;border:solid black 1.0pt;
  border-top:none;padding:0in 5.4pt 0in 5.4pt" valign="top" width="49%">
  <p class="MsoNormal">brief&nbsp;&nbsp;</p>
  </td>
  <td style="width:50.02%;border-top:none;border-left:
  none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
  padding:0in 5.4pt 0in 5.4pt" valign="top" width="50%">
  <p class="MsoNormal">optional&nbsp;&nbsp;</p>
  </td>
 </tr>
</tbody></table>

<p class="MsoBodyText">&nbsp;</p>

<span style="font-size:10.0pt;font-family:Arial;letter-spacing:-.25pt"><br style="page-break-before:always" clear="all">
</span>

<p class="MsoBodyText">&nbsp;</p>

<p class="MsoBodyText">The syntax of the subscriptionFilter structure is:</p>

<p class="MsoBodyText"><img src="http://uddi.org/pubs/uddi-v3.0.2-20041019_files/image098.gif" border="0" height="368" width="441"></p>
     * @param subscription <p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>bindingKey:</i></b>&nbsp; This optional argument of type anyURI
specifies the <i>bindingTemplate</i> which the node is to use to deliver
notifications to subscription listeners.&nbsp; It is only required when asynchronous
notifications are used.&nbsp; This <i>bindingTemplate</i> MUST define either a Web
service that implements notify_subscriptionListener (see below), or an email
address to receive the notifications. If a notify_subscriptionListener Web
service is identified, the node invokes it to deliver notifications.&nbsp; If an
email address is identified, the node delivers notifications via email to the
address supplied. When notifications are delivered via email, the body of the
email contains the body of the SOAP message, which would have been sent to the
notify_subscriptionListener service if that option had been chosen.<span class="MsoCommentReference"><span style="display:none">.</span></span> The
publisher making the subscription request MUST own the bindingTemplate.&nbsp; If
this argument is not supplied, no notifications are sent, although subscribers
may still use the get_subscriptionResults API to obtain subscription results.&nbsp;
See Section <a href="#_Ref536844845 ">5.5.11</a> <i>get_subscriptionResults </i>for
details.&nbsp; If email delivery to the specified address fails, nodes MAY attempt re-delivery, but are not obligated to do so.&nbsp; Depending upon node policy, excessive
delivery failures MAY result in cancellation of the corresponding subscription.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>brief</i></b>:&nbsp; This optional argument controls the level
of detail returned to a subscription listener.&nbsp; The default is "false"
when omitted. When set to "true," it indicates that the subscription
results are to be returned to the subscriber in the form of a keyBag, listing
all of the entities that matched the subscriptionFilter.&nbsp; Refer to Section <a href="#_Ref3401043 ">5.5.6</a> <i>Use of keyBag in Subscription,</i> for
additional information.&nbsp; This option has no effect on the assertionStatusReport
structure, which is returned as part of a notification when the
subscriptionFilter specifies the get_assertionStatusReport filter criteria.&nbsp;
See the explanation of subscriptionFilter below.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>expiresAfter</i></b>:&nbsp; This optional argument allows
subscribers to specify the period of time for which they would like the
subscription to exist.&nbsp; It is of the XML Schema type xsd:dateTime.&nbsp; Specifying
a value for this argument is no guarantee that the node will accept it without
change.&nbsp; Information on the format of expiresAfter can be found in Section <a href="#_Ref535515666 ">5.5.1.1</a> <i>Specifying Durations</i>.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>maxEntities</i></b>:&nbsp; This optional integer specifies the
maximum number of entities in a notification returned to a subscription
listener. If not specified, the number of entities sent is not limited, unless
by node policy.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>subscriptionFilter</i></b>:&nbsp; This argument specifies the
filtering criteria which limits the scope of a subscription to a subset of
registry records. It is required except when renewing an existing subscription.
The get_xx and find_xx APIs are all valid choices for use as a
subscriptionFilter.&nbsp; Only one of these can be chosen for each subscription.&nbsp;
Notifications, based on the subscriptionFilter, are sent to the subscriber if
and only if there are changes at the node, which match this criterion during a
notification period.&nbsp; A subscriptionFilter MUST contain exactly one of the
allowed inquiry elements. The authInfo argument of the specified get_xx or
find_xx API call is not required here and is ignored if specified.&nbsp; All of the
other arguments supported with each of these inquiry APIs are valid for use
here.</p>

<p class="MsoBodyText" style="margin-left:1.0in">Specifying find_relatedBusinesses
is useful for tracking when reciprocal relationships are formed or dissolved.&nbsp;
Specifying get_assertionStatusReport can be used in tracking when reciprocal
relationships (which pertain to a business owned by the subscriber) are formed,
dissolved, or requested by the owners of some other business.</p>

<p class="MsoBodyText" style="margin-left:1.0in">For a get_assertionStatusReport
based subscription, there is a specific status value, <b>status:both_incomplete</b>,
defined in the XML schema. When appearing in an assertionStatusItem of a
subscriptionResultsList, status:both_incomplete indicates that the publisher
assertion embedded in the assertionStatusItem has been deleted from both ends. </p>

<p class="MsoBodyText" style="margin-left:1.0in">Note that the above handling of
deleted publisher assertions is different from the case when a business entity,
business service, binding template, or tModel is removed. In the latter case,
the key to the entity in question is simply put inside a keyBag. A publisher
assertion, on the other hand, has no key and therefore the keyBag idea is not
applicable.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>subscriptionKey</i></b>:&nbsp; This optional argument of type <i>anyURI</i>
identifies the subscription.&nbsp; To renew or change an existing subscription, a
valid subscriptionKey MUST be provided. When establishing a new subscription,
the subscriptionKey MAY also be either omitted or specified as an empty string in
which case the node MUST assign a unique key. If subscriptionKey is specified
for a new subscription, the key MUST conform to the registry’s policy on
publisher-assigned keys.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b><i>notificationInterval</i></b>:&nbsp; This optional argument is
only required when asynchronous notifications are used.&nbsp; It is of type
xsd:duration and specifies how often change notifications are to be provided to
a subscriber.&nbsp; If the notificationInterval specified is not acceptable due to
node policy, then the node adjusts the value to match the next longer time
period that is supported.&nbsp; The adjusted value is provided with the returns from
this API.&nbsp; Also see Section <a href="#_Ref535515666 ">5.5.1.1</a> <i>Specifying
Durations</i>.</p>
     * @param authInfo       authInfo:  This optional argument is an element that contains an authentication token.  Registries that wish to restrict who can save a subscription typically require authInfo for this call, though this is a matter of node policy.
     * <br><br>
     * return <p class="MsoBodyText">Upon successful completion this API returns a <i>subscriptions</i>
structure.&nbsp; Included in the subscription structure(s) it MUST contain is a <i>subscriptionKey</i>
(of type anyURI) that is used by the subscriber to manage the subscription.&nbsp;&nbsp;
This key is required in order to delete (unsubscribe), modify or renew the
subscription.&nbsp;&nbsp; If a subscriber has multiple subscriptions, the subscriptionKey
can be used to distinguish between different subscriptions.&nbsp; The <i>subscriptionKey</i>
is also part of the data contained in the notifications returned to subscription
listeners.&nbsp; </p>

<p class="MsoBodyText">&nbsp;</p>

<p class="MsoBodyText">The subscription structure(s) returned from this API, MUST each contain an <i>expiresAfter</i> value, which has been assigned by the node.&nbsp; Nodes
SHOULD attempt to honor the value(s) provided with the save_subscription
request, but MAY modify them based on node policy.&nbsp;&nbsp;&nbsp; Depending upon the node’s
policy, the node MAY delete a subscription after it has expired.</p>

<p class="MsoBodyText">The value of the <i>notificationInterval</i> included in
the subscription structure(s) returned MAY be adjusted by the node to the value
closest to that requested which is supported by its policies. Depending upon
the Registry’s workload a node MAY skip a notification cycle.&nbsp; If a cycle is
skipped, the next notification sent SHOULD include information based on
registry activity, which has occurred since the last notification was issued.</p>
     * @throws DispositionReportFaultMessage, RemoteException
     * <p class="MsoBodyText">If any error occurs in processing this API call, a dispositionReport structure is returned to the caller in a SOAP Fault.&nbsp; In addition
to the errors common to all APIs, the following error information is relevant
here:</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_invalidKeyPassed</b>: signifies that an entity key value
passed did not match with any known key values.&nbsp; The error structure signifies
that the condition occurred and the error text clearly calls out the offending
key.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_unsupported</b>: signifies that one of the argument values
was not supported by this implementation. The offending argument is clearly
indicated in the error text.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_resultSetTooLarge</b>: signifies that the node refuses to
accept the subscription because it deems that result sets associated with the
subscription are too large.&nbsp; The subscription criteria that triggered this
error should be refined and re-issued. </p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_accountLimitExceeded</b>: signifies that the request
exceeded the quantity limits for subscription requests, based on node policy.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_userMismatch</b>: signifies that an attempt has been made to
use the subscription API to change a subscription that is controlled by another
party. Or that the bindingTemplate specified does not belong to the publisher.</p>

<p class="MsoBodyText" style="margin-left:1.0in;text-indent:-.25in"><span style="font-family:Symbol">·<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span><b>E_requestDenied</b>: signifies that the subscription cannot be
renewed. The request has been denied due to either node or registry policy.</p>
     */
    @WebMethod(operationName = "save_subscription", action = "save_subscription")
    @RequestWrapper(localName = "save_subscription", targetNamespace = "urn:uddi-org:sub_v3", className = "org.uddi.sub_v3.SaveSubscription")
    @ResponseWrapper(localName = "subscriptions", targetNamespace = "urn:uddi-org:sub_v3", className = "org.uddi.sub_v3.Subscriptions")
    public void saveSubscription(
            @WebParam(name = "authInfo", targetNamespace = "urn:uddi-org:api_v3") String authInfo,
            @WebParam(name = "subscription", targetNamespace = "urn:uddi-org:sub_v3", mode = WebParam.Mode.INOUT) Holder<List<Subscription>> subscription)
            throws DispositionReportFaultMessage, RemoteException;
}
